class RecentCounter:
    def __init__(self):
        """统计最近3000毫秒内的请求次数"""
        from collections import deque
        self.queue = deque()

    def ping(self, t):
        """t：当前请求时间（毫秒）"""
        self.queue.append(t)
        # 移除超过3000毫秒的旧请求
        while self.queue[0] < t - 3000:
            self.queue.popleft()
        return len(self.queue)

# 测试
rc = RecentCounter()
print(rc.ping(1))    # 输出：1
print(rc.ping(100))  # 输出：2
print(rc.ping(3001)) # 输出：2（1和100在3001-3000=1毫秒内，有效）
print(rc.ping(3002)) # 输出：3（100、3001、3002 均在3002-3000=2毫秒内）